﻿using LdtJudge.DataEngine.Model.CommModel;

namespace LdtJudge.DataEngine.DataBaseStores
{
    /// <summary>
    /// 消息类型枚举
    /// </summary>
    public enum LogMessageType
    {
        /// <summary>
        /// The error
        /// </summary>
        Error,
        /// <summary>
        /// The information
        /// </summary>
        Info,
        /// <summary>
        /// The debug
        /// </summary>
        Debug,
        /// <summary>
        /// The fatal
        /// </summary>
        Fatal,
        /// <summary>
        /// The trace
        /// </summary>
        Trace,
        /// <summary>
        /// The warn
        /// </summary>
        Warn
    }
    /// <summary>
    /// 文本框样式
    /// </summary>
    public enum FontStyles
    {
        defult,
        style1,
        style2,
        style3,
        style4,
        style5,
        style6,
        style7,
        style8,
        style9,
        style10
    }
    /// <summary>
    /// 进度显示
    /// </summary>
    /// <param name="signId">本次处理标识ID</param>
    /// <param name="nvalue">进度值</param>
    public delegate void ProcessShow(string signId, int nvalue,MainInputParameterModel inputParameterModel);

    /// <summary>
    /// 模块执行进度显示
    /// </summary>
    /// <param name="moduleName">模块名称</param>
    /// <param name="nvalue">进度值</param>
    public delegate void ModuleProcessShow(string moduleName, int nvalue, MainInputParameterModel inputParameterModel);

    /// <summary>
    /// 日志显示
    /// </summary>
    /// <param name="messagetype">消息类型</param>
    /// <param name="logText">日志内容</param>
    public delegate void LogShow(string logText,LogMessageType messagetype= LogMessageType.Warn);

    /// <summary>
    /// 日志显示控制字体显示样式
    /// </summary>
    /// <param name="logText">日志内容</param>
    /// <param name="fontStyle">样式类型选择</param>
    /// <param name="messagetype">日志消息类型</param>
    public delegate void LogShowFontStyle(string logText, FontStyles fontStyle = FontStyles.defult, LogMessageType messagetype = LogMessageType.Info);
    /// <summary>
    /// 完成
    /// </summary>
    public delegate void FinishShow();
}
